第三版 | Ambari 2.7.3.0 安装部署 hadoop 3.1.0.0 集群完整版,附带移除 SmartSense 服务及 FAQ
声明:博主写了一些Ambari系列文章,可以在历史文章中查看。
版本说明:
Ambari:2.7.3.0
hdp:3.1.0.0
这篇文章之前也写过类似的,已经有很多人在看了,也有很多朋友在这过程中碰到了困难,私聊我。为了提高各自的工作效率,所以我又将文章完善了一版,这应该算是第三版了。
今天完善 ambari 安装部署的初衷,就是帮助更多使用 ambari 的人,所以就又完善了一下这文章,总之,现在这文章已经很细致了。
还有,我之前在 b 站上也录制了一个与文档同版本的视频,目前,搜索 ambari 关键词已经在前几的位置了,这也侧面说明视频的质量。有需要的小伙伴,可以在结合视频学习部署一下,视频传送门 。
还有最后一点,欢迎学习使用 ambari 的小伙伴加我好友( 微信号:create17_ )啊,我有几年的 ambari 开发使用经验,可以一起交流下~~
一、配置说明
1. 硬件环境
2. 软件环境
二、修改主机名和hosts文件
1. 修改主机名(三台主机分别修改主机名)
1 | 使用hostnamectl命令修改主机名,执行该命令后立即生效,只不过需要重启Xshell连接 |
2. 修改hosts文件(三台主机的hosts文件均修改为下图所示)
1 | 添加机器ip与主机名映射 |
三、关闭防火墙和selinux
1. 防火墙设置
1 | 查看防火墙状态 |
2. 禁用selinux
1 | 永久性关闭selinux(重启服务器生效) |
四、免密登陆
各个主机均执行以下操作,这是实现自身免密操作:
1 | # 生成密钥对 |
在node1.ambari.com上执行以下命令,使主节点能免密访问其他俩从节点:
1 | # 配置主从互相免密登陆 |
备注:要想实现多主机互相免密,可参考文章:Linux多台主机互相免密
扩展:
1 | 首次ssh时,不提示是否保存秘钥,可执行以下命令 |
五、安装JDK
下载链接: https://pan.baidu.com/s/1rlqZejpZZqio9RPzgnGOEg 提取码: j47n ;内有jdk-8u151-linux-x64.tar.gz
和mysql-connector-java.jar
文件。
- mkdir /usr/java;将下载的压缩包上传到java文件夹内
- 解压压缩包:tar zxvf jdk-8u151-linux-x64.tar.gz
- 配置jdk环境变量:
1 | 编辑/etc/profile,文末插入以下内容: |
- 使环境变量生效:source /etc/profile
- 安装验证:java -version
六、安装mysql
本文选择在 node1.ambari.com 主节点上安装 MySQL 服务。
以下为 mysql RPM 包的不同版本,大家可根据自己情况选择:
mysql5.7 centos7:(本文选择)
https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
mysql5.7 centos6:
https://dev.mysql.com/get/mysql57-community-release-el6-11.noarch.rpm
mysql5.6 centos7:
https://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
mysql5.6 centos6:
https://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
1. 检查本地资源库中是否有mysql的rpm包
1 | rpm -qa | grep mysql |
2. 搭建mysql5.7的yum源
1 | 执行这一步命令,会下载 mysql5.7 的 rpm包 |
3. 安装mysql
1 | yum install mysql-community-server |
4. 设置mysql
1 | 启动mysql服务 |
5. 新增 ambari 用户并增加权限
在本篇文章中,我们选择用 mysql 来存储 ambari 的元数据信息。
我们为 ambari 服务新增自己的用户,用户名就叫 ambari 吧,以下是新增 mysql 用户的操作。
1 | mysql -uroot -proot123 |
MySQL 中的用户是 用户名 和 host 共同标识。所以在上面命令里,我们算是创建了两个用户,分别是 ambari@localhost、ambari@% 。
用户中的 host 的不同,代表受众群体也不同。比如 localhost 表示只能是本机访问;% 表示所有的 ip 都可以访问 mysql 。
扩展命令:删除用户命令:
1 | Delete FROM user Where User='your_user' and Host='your_host'; |
6. 使用 ambari 用户登陆并创建数据库
1 | mysql -uambari -pambari |
七、设置时钟同步
请参考我写的另一篇文章:《Linux NTP 时钟同步》。
八、搭建本地yum源,在主节点上操作
1. 安装httpd和wget服务
1 | 安装httpd |
安装了 httpd 服务后,我们就可以通过 http 链接的方式访问某些安装包,前提是将安装包放在 /var/www/html 目录下。
2. 下载ambari和hdp包
1 | 将tar包下载到/var/www/html |
3. 新建 repo 文件
- 新建ambari.repo文件,将文件放入
/etc/yum.repos.d/
目录下。
1 | [ambari] |
可能网上有别的文章,还需要设置 hdp 的 repo 文件。其实不需要。在之后部署 hadoop 集群的时候,我们会在 ambari 界面上设置 hdp 安装包的 yum 离线源,ambari 会在各 ambari-agent 节点上自动生成 ambari-hdp-1.repo 文件。
九、在主节点安装ambari-server
1. 安装
1 | yum -y install ambari-server |
2. 将mysql-connector-java.jar拷贝到/usr/share/java目录下
3. 修改配置文件
1 | echo server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar >> /etc/ambari-server/conf/ambari.properties |
4. 安装ambari-server
1 | ambari-server setup |
5、将 mysql-connector-java.jar 拷贝到指定目录
将 mysql-connector-java.jar 驱动包拷贝到指定目录,这样的话,在安装 hive 等需要 mysql 数据库的服务的时候,就有 jdbc 连接驱动了,就不会报错了。
1 | ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar |
6. 初始化数据库
1 | mysql -uambari -pambari |
7. 启动ambari-server
1 | ambari-server start |
登陆浏览器访问: http://192.168.162.41:8080/,利用界面部署集群。
默认登陆账号/密码为:admin/admin。
以上就是安装 ambari 的大体步骤。其实都挺简单的,部署步骤不难,完全可以写成自动化脚本来执行,这里我建议使用 ansible 来部署,感兴趣的朋友可以研究下。
十、通过 ambari 部署 hadoop 集群
主要说一下关键步骤。
1、Select Version
这一步,挺重要。首选,我们要选择安装的 hdp 版本。其次,由于之前我们搭建了本地yum源(已将hdp的rpm包下载到了本地),所以要选择 “Use Local Repository” 。最后选择主机系统,配置 hdp 相关的 yum 源路径。
2、Install Options
在 Target Hosts 里面,填写规划的 ambari-agent 主机列表,填写主机名即可。
在下面的输入框内,填写 ambari-server 所在主机的 ssh 私钥,就是 ~/.ssh/id_rsa 文件的内容,粘贴到下面的输入框内。
3、Choose Services
在这一步,就可以选择 hadoop 相关的一些服务了。
4、Assign Masters
分配 master,就是将你所选服务的 master 角色组件,选择安装在哪台机器上。可以根据cpu、内存、磁盘等指标考虑。
5、Assign Slaves and Clients
在这一步中,可能很多刚入门的朋友还不清楚如何选择。其实和分配 master 的思路一样,就是将哪些组件安装在哪些主机上,这个就看个人规划了。比如:在 worker 节点上安装 datanode、nodeManager、RegionServer 等角色。
6、后续步骤
接下来的步骤,就比较简单了,我在这里也就不多赘述了。
十一、小结
这篇文章之前也写过类似的,已经有很多人在看了,也有很多朋友在这过程中碰到了困难,私聊我。为了提高各自的工作效率,所以我又将文章完善了一版,这应该算是第三版了。
其实在上面遇到问题最多的就是,配置本地 yum 源,里面的 repo 文件,url 写错。
还有就是 ambari-server setup 安装的时候,会报 mysql 用户名密码不正确。归根结底,可能就是 mysql 创建的用户不全。ambari-server setup 安装时指定的 mysql 用户名、密码错误。建议多检查看看。注意 mysql 用户部分是由 用户名 和 host 共同组成的。
今天完善 ambari 安装部署的初衷,就是帮助更多使用 ambari 的人,但也不希望再有人问我 ambari 安装的问题了,就挺耽误时间的,所以就又完善了一下这文章,总之,现在这文章已经很细致了。
还有,我之前在 b 站上也录制了一个与文档同版本的视频,目前,搜索 ambari 关键词已经在前几的位置了,这也侧面说明视频的质量。有需要的小伙伴,可以在结合视频学习部署一下,视频传送门 。
还有最后一点,欢迎学习使用 ambari 的小伙伴加我好友( 微信号:create17_ )啊,我有几年的 ambari 开发使用经验,可以一起交流下~~
点关注,不迷路
好了各位,以上就是这篇文章的全部内容了,能看到这里的人呀,都是人才。
白嫖不好,创作不易。各位的支持和认可,就是我创作的最大动力,我们下篇文章见!
如果本篇博客有任何错误,请批评指教,不胜感激 !
原文作者: create17
原文链接: https://841809077.github.io/2018/11/03/Ambari/安装部署/Ambari v2.7.1安装.html
版权声明: 转载请注明出处(码字不易,请保留作者署名及链接,谢谢配合!)